// Decompiled by Jad v1.5.8g. Copyright 2001 Pavel Kouznetsov.
// Jad home page: http://www.kpdus.com/jad.html
// Decompiler options: packimports(3)
// Source File Name:   ListaActividadesPendientes.java
package wasolicitudesfiec.general;

import com.sun.rave.web.ui.appbase.AbstractPageBean;
import com.sun.rave.web.ui.component.*;
import entidad.Persona;
import entidad.ayudantias.Solicitudayudantia;
import entidad.ayudantias.Solicitudserayudante;
import entidad.ayudantias.TipoAyudantia;
import entidad.cambioCarrera.Solicitudcambiocarrera;
import hero.interfaces.BnNodePropertyValue;
import hero.interfaces.BnNodeValue;
import hero.interfaces.ProjectSession;
import hero.interfaces.UserSession;
import hero.util.HeroException;
import java.rmi.RemoteException;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.faces.FacesException;
import javax.faces.convert.DateTimeConverter;
import javax.faces.event.ValueChangeEvent;
import wasolicitudesfiec.*;
import wasolicitudesfiec.dataproviders.Dp_ActividadesPendientes;
import wasolicitudesfiec.logicacontrol.Logica;
import wasolicitudesfiec.plantillas.PanelIzquierdo;
import wasolicitudesfiec.plantillas.PanelNavegacion;
import wasolicitudesfiec.registros.Rg_ActividadesPendientes;

public class ListaActividadesPendientes extends AbstractPageBean {

    private Logica logica;

    private void _init()
            throws Exception {
        dateTimeConverter1.setTimeZone(null);
        dateTimeConverter1.setDateStyle("short");
        dateTimeConverter1.setPattern("dd/MM/yyyy H:mm");
    }

    public Page getPage1() {
        return page1;
    }

    public void setPage1(Page p) {
        page1 = p;
    }

    public Html getHtml1() {
        return html1;
    }

    public void setHtml1(Html h) {
        html1 = h;
    }

    public Head getHead1() {
        return head1;
    }

    public void setHead1(Head h) {
        head1 = h;
    }

    public Link getLink1() {
        return link1;
    }

    public void setLink1(Link l) {
        link1 = l;
    }

    public Body getBody1() {
        return body1;
    }

    public void setBody1(Body b) {
        body1 = b;
    }

    public Form getForm1() {
        return form1;
    }

    public void setForm1(Form f) {
        form1 = f;
    }

    public Table getTable1() {
        return table1;
    }

    public void setTable1(Table t) {
        table1 = t;
    }

    public TableRowGroup getTableRowGroup1() {
        return tableRowGroup1;
    }

    public void setTableRowGroup1(TableRowGroup trg) {
        tableRowGroup1 = trg;
    }

    public TableColumn getTableColumn2() {
        return tableColumn2;
    }

    public void setTableColumn2(TableColumn tc) {
        tableColumn2 = tc;
    }

    public TableColumn getTableColumn3() {
        return tableColumn3;
    }

    public void setTableColumn3(TableColumn tc) {
        tableColumn3 = tc;
    }

    public StaticText getStaticText7() {
        return staticText7;
    }

    public void setStaticText7(StaticText st) {
        staticText7 = st;
    }

    public Hyperlink getHyperlink1() {
        return hyperlink1;
    }

    public void setHyperlink1(Hyperlink h) {
        hyperlink1 = h;
    }

    public DateTimeConverter getDateTimeConverter1() {
        return dateTimeConverter1;
    }

    public void setDateTimeConverter1(DateTimeConverter dtc) {
        dateTimeConverter1 = dtc;
    }
    private TableColumn tableColumn4 = new TableColumn();

    public TableColumn getTableColumn4() {
        return tableColumn4;
    }

    public void setTableColumn4(TableColumn tc) {
        this.tableColumn4 = tc;
    }
    private StaticText staticText1 = new StaticText();

    public StaticText getStaticText1() {
        return staticText1;
    }

    public void setStaticText1(StaticText st) {
        this.staticText1 = st;
    }

    public PanelNavegacion getPanelNavegacion() {
        return (PanelNavegacion) getBean("plantillas$PanelNavegacion");
    }

    public ListaActividadesPendientes() {
        dp_prueba = new Dp_ActividadesPendientes();
        page1 = new Page();
        html1 = new Html();
        head1 = new Head();
        link1 = new Link();
        body1 = new Body();
        form1 = new Form();
        table1 = new Table();
        tableRowGroup1 = new TableRowGroup();
//	tableColumn1 = new TableColumn();
//	staticText5 = new StaticText();
        tableColumn2 = new TableColumn();
        tableColumn3 = new TableColumn();
        staticText7 = new StaticText();
        hyperlink1 = new Hyperlink();
        dateTimeConverter1 = new DateTimeConverter();
    }

    @Override
    public void init() {
        ArrayList listaRgActividades = new ArrayList();
        super.init();
        try {
            _init();
        } catch (Exception e) {
            log("ListaSolicitudesAyudantes Initialization Failure", e);
            throw (e instanceof FacesException) ? (FacesException) e : new FacesException(e);
        }
        String idModelo;
        
        idModelo = (String) this.getExternalContext().getRequestParameterMap().get("idModelo");
        this.getPanelNavegacion().getLblNavegacion().setText("Actividades Pendientes -> "+idModelo);
        logica = new Logica();
        ProjectSession projectSession = logica.getProjectSession();
        UserSession userSession = logica.getUserSession();
         ArrayList listaActividadesPendientes = logica.leerActividadesPendientes(idModelo, userSession, projectSession);
        Rg_ActividadesPendientes regActividad = null;
        BnNodePropertyValue property;

        for (Iterator i$ = listaActividadesPendientes.iterator(); i$.hasNext(); ) {
            try {
                BnNodeValue elem = (BnNodeValue) i$.next();
                regActividad = new Rg_ActividadesPendientes();
                regActividad.setIdActividad(elem.getId());
                regActividad.setActividad(elem.getName());
                String nombreInstanciaProceso = elem.getBnProject().getName();
                String nombreActividad = elem.getName();
                projectSession.initProject(nombreInstanciaProceso);
                 String titulo="";
                String id = projectSession.getNodeProperty(nombreActividad, "idSolicitudActividad").getTheValue();
                int idSolicitud = 0 ;
                try{
                    idSolicitud = Integer.parseInt(id);
                }catch(NumberFormatException ex){
                    continue;
                }
                if (idModelo.equals("Solicitar Ayudantes") || idModelo.equals("Solicitar Ser Ayudante")) {                   
                    titulo = actividadesPendientesAyudantias(idModelo, idSolicitud);
                    regActividad.setTitulo(titulo);
                }
                  if (idModelo.equals("Solicitar Cambio de Carrera o Especializacion")) {
                   titulo = actividadesPendientesCambioCarrera(idModelo, idSolicitud);
                    regActividad.setTitulo(titulo);
                }

                regActividad.setNombreModelo(logica.getProjectNameOfInstance(elem.getBnProject().getName()));
                regActividad.setFechaAsignacionDeLaActividad(elem.getCreationDate());
                regActividad.setNombreInstanciaProceso(elem.getBnProject().getName());
                listaRgActividades.add(regActividad);
            } catch (SQLException ex) {
                Logger.getLogger(ListaActividadesPendientes.class.getName()).log(Level.SEVERE, null, ex);
            } catch (HeroException ex) {
                Logger.getLogger(ListaActividadesPendientes.class.getName()).log(Level.SEVERE, null, ex);
            } catch (RemoteException ex) {
                Logger.getLogger(ListaActividadesPendientes.class.getName()).log(Level.SEVERE, null, ex);
            }
        }

        getDp_prueba().setListaRg_ActividadesPendientes(listaRgActividades);
//        }
    }

    private String actividadesPendientesAyudantias(String idModelo, int idSolicitud) throws SQLException {
        Solicitudayudantia solicitudAyudantia = null;
        TipoAyudantia tipoAyudantia;
        Solicitudserayudante solicitudSerAyudante;
        Persona persona;
        
        if (idModelo.equals("Solicitar Ayudantes")) {            
            solicitudAyudantia = logica.getLogAyudantia().leerSolicitudayudantiaNivel2(idSolicitud);
            persona= solicitudAyudantia.getProfesor().getPersona();
            return (persona.getTituloAcademico()+" "+persona.getNombres()+" "+persona.getApellidos());            
        } else if (idModelo.equals("Solicitar Ser Ayudante")) {
            solicitudSerAyudante = logica.getLogAyudantia().leerSolicitudserayudanteNivel2(idSolicitud);
           solicitudSerAyudante = logica.getLogAyudantia().leerSolicitudserayudanteNivel2(solicitudSerAyudante);
             persona= solicitudSerAyudante.getEstudiante().getPersona();
            return (persona.getNombres()+" "+persona.getApellidos());             
        }
       
        return "Solicitante";
//        tipoAyudantia = logica.leerTipoAyudantia(solicitudAyudantia);
//        if (tipoAyudantia.getTipo() == TipoAyudantia.TipoAyudantiaEnum.ACTIVIDADES_VARIAS) {
//           return solicitudAyudantia.getAyudantiavaria().getNombre();
//        } else {
//            return solicitudAyudantia.getMateria().getNombre();
//        }
        
    }

      private String actividadesPendientesCambioCarrera(String idModelo, int idSolicitud) throws SQLException {
          Solicitudcambiocarrera solicitudcambiocarrera = null;
            solicitudcambiocarrera = logica.getLogCambioCarrera().leerSolicitudCambioNivel2(idSolicitud);
            Persona persona = solicitudcambiocarrera.getEstudiante().getPersona();
       return persona.getNombres()+" " + persona.getApellidos();
    }

    @Override
    public void preprocess() {
    }

    public void prerender() {
        if (getPanelIzquierdo() != null) {
            getPanelIzquierdo().miPrerender();
        }
    }

    public void destroy() {
    }

    protected ApplicationBean1 getApplicationBean1() {
        return (ApplicationBean1) getBean("ApplicationBean1");
    }

    protected RequestBean1 getRequestBean1() {
        return (RequestBean1) getBean("RequestBean1");
    }

    protected SessionBean1 getSessionBean1() {
        return (SessionBean1) getBean("SessionBean1");
    }

    public void dropDown1_processValueChange(ValueChangeEvent valuechangeevent) {
    }

  
    private String getMessage(String string, String string0, String string1) {
        return null;
    }

    public Dp_ActividadesPendientes getDp_prueba() {
        return dp_prueba;
    }

    public void setDp_prueba(Dp_ActividadesPendientes dp_prueba) {
        this.dp_prueba = dp_prueba;
    }

    protected PanelIzquierdo getPanelIzquierdo() {
        return (PanelIzquierdo) getBean("plantillas$PanelIzquierdo");
    }
    private Dp_ActividadesPendientes dp_prueba;
    private int __placeholder;
    private Page page1;
    private Html html1;
    private Head head1;
    private Link link1;
    private Body body1;
    private Form form1;
    private Object data[][] = {
        {
    "a1", "a2", "a3"
}, {
    "a4", "a5", "a6"
}, {
    "a7", "a8", "a9"
}, {
    "a10", "a11", "a12"
}, {
    "a13", "a14", "a15"
}
    };
    private Table table1;
    private TableRowGroup tableRowGroup1;
    private TableColumn tableColumn2;
    private TableColumn tableColumn3;
    private StaticText staticText7;
    private Hyperlink hyperlink1;
    private DateTimeConverter dateTimeConverter1;

    /**
     * <p>Return a reference to the scoped data bean.</p>
     */
    protected ListaProcesosEnCurso getgeneral$ListaProcesosEnCurso() {
        return (ListaProcesosEnCurso) getBean("general$ListaProcesosEnCurso");
    }
}
